/**
 * 
 */
package co.com.sed.model.beans;

import java.util.ArrayList;

/**
 * @author Mejia
 *
 */
public class Nivel {
	private int idNivel;
	private String nivel;
	private Rango rango;
	
	private ArrayList<Cargo> cargos = null;
	private ArrayList<Ponderacion360> ponderaciones360 = null;
	
	/**
	 * 
	 */
	public Nivel() {
		super ();
		this.cargos = new ArrayList<Cargo>();
		this.ponderaciones360 = new ArrayList<Ponderacion360>();
	}
	

	/**
	 * @param idNivel
	 */
	public Nivel(int idNivel) {
		super();
		this.idNivel = idNivel;
	}


	
	/**
	 * @param idNivel
	 * @param nivel
	 * @param rango
	 */
	public Nivel(int idNivel, String nivel, int rango) {
		super();
		this.idNivel = idNivel;
		this.nivel = nivel;
		this.rango = new Rango (rango);
	}
	
	/**
	 * @param nivel
	 * @param rango
	 */
	public Nivel(String nivel, int rango) {
		super();
		
		this.nivel = nivel;
		this.rango = new Rango (rango);
	}


	/**
	 * @param idNivel
	 * @param nivel
	 * @param rango
	 * @param cargos
	 * @param ponderaciones360
	 */
	public Nivel(int idNivel, String nivel, Rango rango,
			ArrayList<Cargo> cargos, ArrayList<Ponderacion360> ponderaciones360) {
		super();
		this.idNivel = idNivel;
		this.nivel = nivel;
		this.rango = rango;
		this.cargos = new ArrayList<Cargo>();
		this.ponderaciones360 = new ArrayList<Ponderacion360>();
	}


	public int getIdNivel() {
		return idNivel;
	}

	public void setIdNivel(int idNivel) {
		this.idNivel = idNivel;
	}

	public String getNivel() {
		return nivel;
	}

	public void setNivel(String nivel) {
		this.nivel = nivel;
	}

	public Rango getRango() {
		return rango;
	}

	public void setRango(Rango rango) {
		this.rango = rango;
	}


	/**
	 * @return the cargos
	 */
	public ArrayList<Cargo> getCargos() {
		return cargos;
	}


	/**
	 * @param cargos the cargos to set
	 */
	public void setCargos(ArrayList<Cargo> cargos) {
		this.cargos = cargos;
		
		for(Cargo cargo : this.cargos){
			cargo.setNivel(this);
		}
	}


	/**
	 * @return the ponderaciones360
	 */
	public ArrayList<Ponderacion360> getPonderaciones360() {
		return ponderaciones360;
	}


	/**
	 * @param ponderaciones360 the ponderaciones360 to set
	 */
	public void setPonderaciones360(ArrayList<Ponderacion360> ponderaciones360) {
		this.ponderaciones360 = ponderaciones360;
		
		for(Ponderacion360 ponderacion360 : this.ponderaciones360){
			ponderacion360.setNivel(this);
		}
		
	}
	
}
